+

# フォント出力ダイアログ

このダイアログでは、アウトラインとビットマップ両方のフォントファイルを出力します。どちらか片方を出力しないようにすることもできますし、AFM ファイルや PFM ファイルを出力したり、 PostScript 出力のタイプや出力するビットマップのピクセルサイズを選択することもできます。

アウトラインの種類は以下のとおりです。

- バイナリフォーマットの PostScript Type1 フォント (pfb ファイル。現行のウィンドウシステムのほとんどで使用可能です)
- ASCII フォーマットの PostScript Type1 フォント (pfa ファイル。プリンタが使用します)
- MacBinary フォーマットの PostScript Type1 フォント (Mac のリソースに束ねられた PostScript フォントを MacBinary ファイルに符号化したもの。Mac にコピーし、MacBinary を展開すればインストールできます)
  Mac 上では、リソースフォークは直接生成されるので、MacBinary は使用されません。

  注意: Mac が PostScript フォントを認識するには、ビットマップフォントを NFNT フォーマットで出力して同じディレクトリに置く必要があります。ビットマップフォントをまだ作成していないなら、このダイアログをキャンセルして `エレメント(L)`→`使用するビットマップ(A)` を使用してビットマップを作成してからまたこのダイアログに戻って来てください。

  注意: Apple はこのフォーマットは廃止予定であり、未来のバージョンでは動作しない可能性があると示唆しています。

- Multiple Master(A)。(.pfa と同じ) ASCII フォーマットでマルチプルマスターフォントを出力します。
- Multiple Master(B)。(.pfb と同じ) バイナリフォーマットでマルチプルマスターフォントを出力します。
- 複数のバイナリ形式 PostScript Type1 フォント (これは、2 バイトエンコーディングのフォントを、それぞれが 256 個のグリフを含む一連の小さな pfb (または pfa) ファイル群に変換するのに使用します。変換を指定するのに用いるファイルを指定するよう求められます。ファイルの書式は、ttf2tfm のマニュアルを見て、サブフォント定義ファイルの説明を参照してください。そのファイルがどのような物かがこの例で分かります。)
- PostScript Type3 フォント (.pt3 フォント。これはプリンタによって使用されるもので、暗号化されていません)
- PostScript Type0 フォント。これは、フォントが Unicode か CJK エンコーディングのどれかで符号化されている場合のみ使用可能です。Type0 フォントは 65536 個までのグリフを含むことができます (それに対し、Type1s と Type3s では 256 個までです)。
- PostScript Type42 フォント (これは実際には PostScript で包まれた TrueType フォントです)
- PostScript Type42 CID フォント
- PostScript CID フォント。これは、あなたのフォントが CID フォント であるときのみ使用可能です。これはフォントを古い Type1 CID フォーマットで出力します。あなたが使いたいのはおそらく、OpenType CID フォーマットではないかと思います……
- PostScript CFF フォント。これは OpenType フォントの‘CFF ’テーブルの中身で使われているフォーマットです。それ自身としては正しいフォントフォーマットではありません。
- TrueType。命令 (ヒントづけ) はおそらくあまり良くないでしょう。水平・垂直のステムにしかヒントづけしません。ヒントづけは PostScript 用に用いられるヒントに基づいており、セリフに対するいくつかの追加の処理と、ほぼ同じ高さのグリフを小さなポイントサイズでは同じ高さにするという認識 (PostScript の BlueValues と等価です) を加味した物です。
- TrueType Symbol フォント。TrueType と同じですが、フォント内で定義された 1 バイトエンコーディングをそのまま使用する点が異なります。Windows では、Symbol および Dingbat エンコーディングは通常のエンコーディングでは文字が割り当てられないところ (0x80-0x9f の領域) に文字が含まれることがよくあるため、これは重要です。Mac でも、MacRoman 以外の任意のスクリプトに対する正しいエンコーディングテーブルを出力しないため、これが重要です。ですから、もし MacCyrillic フォントを出力したいならばこのモードを使用してください。
- MacBinary 形式の TrueType フォーマット。TrueType フォントを Mac のリソースで包み、MacBinary ファイルに固めた物です。Mac で使うために設計された形式です。
  Mac 上で作業している場合、リソースフォークつきのファイルが直接出力されます (MacBinary は使用されません)。
- dfont フォーマットの TrueType。Mac の dfont (データフォークリソースファイル) で包まれた TrueType フォントです。Mac OS X のフォント形式です。
- OpenType。公式には OpenType は TrueType を含む概念ですが、OpenType の TrueType フォントはただの TrueType フォントのことでしかありませんので、ここでは単に TrueType と読んでいます。ここで言う OpenType とは、CFF PostScript Type2 フォントをからなる OpenType フォントのことです。
- dfont フォーマットの OpenType。Mac の dfont (データフォークリソースファイル0 で包んだ OpenType フォントです。Mac OS/X のフォント形式です。
- OpenType CID。この形式は、出力するフォントが CID フォントであるときのみ使用可能です。OpenType 形式の CID フォントを出力します。
- SVG フォント
- なし

ビットマップの種類は以下のとおりです。

- BDF ― 内部形式のビットマップフォントは BDF フォーマットで保存されます。選択できるサイズは、既に生成済みのフォントのサイズに限られます (アンチエイリアス処理された (グレイマップ) フォントも、ビットマップと同様に出力することができます。高さ 12 ピクセルで 8 ビット/ピクセルのグレイマップフォントは 12@8 と表記します。
- In TTF ― ビットマップフォントを TTF ファイル内に格納します (正確なフォーマットは、オプションダイアログの Apple と OpenType の両ビットに依存します)。
- In sfnt (dfont) ― アウトラインフォントが生成されていない場合のみ使用可能です。Apple は、アウトラインフォントがない場合でも TrueType ファイル (sfnt) にビットマップを格納することを許しています。それにより、これはビットマップのみを含む TTF ファイルを生成し、dfont の中に包み込みます。
- NFNT (MacBin) ― ビットマップフォントを Macintosh の NFNT リソースに変換し、MacBinary ファイルに固めます。
  NFNT (Resource) ― Mac 上では NFNT フォントをリソースフォーク内に直接出力します。

  注意: Mac OS X は NFNT ビットマップをサポートしないようです (私の試した限りでは動かせませんでした)。それにもかかわらず, Mac は Type1 フォントを認識するためにはいまだに NFNT を最低 1 個は必要とするようです。ビットマップが必要なのに、使われないのです。変ですね。

- Windows FON ― Windows 用のリソースベースのフォントフォーマット。
- Windows FNT ― Windows 用の、1 ファイル毎に 1 個のビットマップを含んだフォーマット。
- OpenType Bitmap ― これは、新しい X11 のビットマップフォーマットです。sfnt ラッパ (OpenType または TrueType フォント) に埋め込まれたビットマップですが、アウトラインを含みません。
- Palm フォント ― 各種の palm ビットマップフォントフォーマットをサポートします。
- ビットマップフォント無し

オプションダイアログには、以下のチェックボックスがあります。これらのすべてが常に使用可能なわけではありません。

- `[] 整数値に変換` ― すべての座標値を整数に丸めます。これにチェックが入っていない場合は必要に応じて、Type1 フォントは小数点以下第 2 位までの制度で出力され、Type2 フォントは 2 進数で 16 桁までの精度 (10 進数で約 4 桁に相当) で出力されます。
- `[] ヒント` ― PostScript のヒントを出力ファイルに含めます。
- `[] Flexヒント` ― PostScript の flex ヒントを出力ファイルに含めます。
- `[] AFMを出力` ― Adobe フォントメトリックファイルを出力します (マルチプルマスターフォントでは、.amfm ファイルの出力も制御します)
  注意: AFM ファイルに出力されるのは‘liga’と‘rlig’合字のみです。この動作を変更したいときは、スクリプト用コマンド ControlAfmLigatureOutput を使用してください。
- `AFM で合成グリフを使用` ― AFM フォーマットには複合グリフを部品から構築する機能を含んでいます。ほとんど誰もそれらのデータを使っていないうえに、これを使うと AFM ファイルのサイズが恐ろしく巨大化しますが、それでもこの利用したいならばこのチェックボックスをオンにしてください (フォントにアンカークラスが含まれていない場合、これをチェックしても何の効果もありません)。
- `[] PFMを出力` ― Windows のプリンタフォントメトリックファイルを出力します。
- `[] TFMとENCを出力` ― TeX のフォントメトリックファイル (および TeX の enc エンコーディングファイル) を出力します。

- `[] ヒント(I)` ― TrueType のヒントを TrueType フォントに含めます。注意: これは以前は劣悪な TrueType 命令を出力していましたが、現在ではグリフとともに格納されている何らかの命令があったときに、それを挿入するだけにとどめています。それが他の TrueType フォントから読み込まれた物ならば、おそらく適切な物でしょう。もしそれらが FontForge の自動命令づけメニューコマンドによって生成された物ならば、おそらくフォントは余計汚くなるでしょう。
  - ここでは、R C van Dalen の TrueType ヒントづけユーティリティが役立つでしょう。
- `[] PostScriptグリフ名` ― 完全版の‘post’テーブルをフォントに含めます。
- `[] Appleの仕様` ― Apple と MS/Adobe では、TTF のフォーマットに相違があります。これは煩わしいことです。このボックスにチェックを入れるとフォントを Apple の希望に沿って出力し、空にしておくと MS/Adobe の希望に沿って出力します。現在これによって以下の事柄が制御されます:
  - ビットマップ用テーブル (Apple はこれを‘bdat’と呼び、MS/Adobe は‘EBDT’と呼びます。これらが含むデータは同じです)
  - ‘name’テーブル内の PostScript 名 (Apple は、0 か 1 のどちらかでなければならないと言い、MS/Adobe は 1 以外の任意の値と言っています)
  - Apple と MS/Adobe は、参照 (部品) を拡大・縮小する方法に関しても違いがあります。好運にもこの場合は曖昧さを取り除く別の方法があります (おまけに、参照が拡大・縮小されることは滅多にありません)。
  - GDEF, GPOS, GSUB と prop, lcar, kern, opbd, morx, feat の各テーブル。Apple は GPOS/GSUB テーブルをサポートしません。マイクロソフトは一部のフォントについては kern テーブルのサポートを続けていますが、その他については GPOS を要求しています。
- `[] OpenTypeの仕様` ― ここにチェックが入っている場合、フォント内には OpenType で使用されるテーブルが作成されます。ここと [] Apple の仕様 の両方にチェックが入っている場合、フォントには 2 組のテーブルが格納され、Apple は片方のセットを参照し、他の皆はもう片方を参照するでしょう。 (警告: 上記の記述が正しいのは、10.4 (“Tiger”) より前のバージョンに限られます。OS X 10.4 からは、Apple は OpenType テーブルが存在する時はそれを使用し、AAT テーブルを無視するでしょう。残念ながら Apple は OpenType の全機能を実装していないので、おそらく Apple 機上では間違った)振舞いをするでしょう。
- `[] 旧来の'kern'` ― もし `OpenType の仕様`と同時にこれにチェックをつけると、OpenType の 'GPOS' テーブルと旧来の 'kern' テーブルの両方が出力されます (もちろん、カーニングペアが含まれている場合だけです)。OpenType メーリングリストでは、これは拙劣な考えだとされています (一部のアプリケーションは、両方のテーブルのカーニング値を加えてしまう可能性があるそうです) が、‘GPOS’のカーニングをサポートしていないアプリケーションには有益でしょう。
- `[] コメントを保存` ― 私は、自分が保存したいデータの全部を格納するために自分専用のテーブル (‘PfEd’) を追加しました。このボックスにチェックが入っていると、グリフのコメントをすべて出力ファイルに保存します。
- `[] 色を保存` ― グリフの色を同様に‘PfEd’テーブルに保存します。
- `[] TeX` ― TeX のメトリックを‘TeX ’テーブルに保存します。
- `[] グリフマップを出力` ― TrueType (OpenType) グリフ ID をグリフ名 (及び、可能であれば Unicode 値) に対応づけるファイルを (拡張子 .g2n で) 出力します。
- `[] OFM と CFG を出力` ― Omega 用のメトリックファイルを出力します。

TTF (と OpenType) フォントは通常 Unicode エンコーディングで出力され、それに加えて小さな Macintosh 用の MacRoman エンコーディングのテーブル (および Macintosh の Unicode エンコーディングのコピー) も出力されます――例外は以下の通りです: Symbol フォントは Symbol エンコーディングを使用し、KS C 5601 と Wansung のフォントは Wansung を使用し、Johab フォントは johab を、JIS X 0208 と SJIS のフォントは SJIS を、Big5 のフォントは big5 エンコーディングを使用します。“Full Unicode”エンコーディングを持つフォントは、2 バイトの Unicode エンコーディングテーブルと 4 バイトのテーブルの両方を含むことができます。OpenType 形式の CID フォントは Unicode エンコーディングで保存されます。

PostScript フォントは、どのようなエンコーディングでもそのまま出力します (例外として、2 バイトエンコーディングのフォントを (Type0 でなく) Type1 形式で出力した場合、最初の少数 (256 個) のグリフだけが符号化されます)。Type0 フォントは完全版の Unicode (4 バイト) エンコーディングをサポートしません。

PS CID (および OpenType に含まれる CFF 形式の CID) ではエンコーディングは保存されません。エンコーディングは別個の CMap ファイルに含まれており、それらは Adobe (およびおそらく他のフォントベンダ) から入手可能です。

CID フォントを PS CID か OpenType CID 以外のフォーマットで保存した場合、現在表示されているサブフォントのみが、現在の無意味なグリフエンコーディングに従って保存されます (これは、CID フォントから特定のサブフォントを取り出したいときには役に立つと思います)。

SVG フォントには、実質的に Unicode 以外のエンコーディングの概念はありません。

TTF (と OpenType) フォントは、もしそのフォントで縦書きメトリックが使用可能になっている場合、縦書きメトリックを出力します。PostScript エンコーディングは Metrics2 辞書を出力しません (どなたか希望する人がいましたら知らせてください。やれば出来るのですが、誰もそれを使わないだろうという印象を持っています)。

Mac OS X では、PostScript フォントを含むリソースフォントを生成するとき、filename テキストフィールドは存在しないでしょう (ファイル名はフォント名から決定されるからです)。その場合でも、ディレクトリを選択することはできます。

出力するビットマップサイズはフォントデータベースにすべて存在しなければなりません。アンチエイリアス処理したフォントは、ピクセルサイズの後ろに“@<depth>”(例:“@8”) を付け加えることによって指定することができます。

BDF フォントを出力すると、後から解像度を入力するように促されます。

「グリフ名を強制的に変更」フィールドに関する議論については名前リストのセクションを参照してください。

OpenType モードを設定して TrueType または OpenType フォントを出力すると (注意:“OpenType”という用語は 2 つの意味があります。PostScript フォントに対する TrueType ラッパという意味と、組版用の情報を含んだテーブルのセットの意味です。――ここで言う OpenType モードとはテーブルのセットのことです) FontForge は GPOS, GSUB および GDEF テーブルを出力します。これらはカーニング、合字情報、アラビア文字の位置依存の形情報、アンカーポイントなどを含みます。

Apple はこれらの OpenType レイアウトテーブルをサポートしていません。Apple モードを設定したときには、その代りに ‘kern’,‘opbd’,‘morx’,‘feat’,‘lcar’ および‘prop’ テーブルを出力します。(それに加え、その他の小さな相違点が 2, 3 表れます。)

Apple と OpenType の両方を設定している場合、両方のテーブルセットが出力されます。どちらも設定していない場合、‘kern’テーブルのみが出力され、そこにはペア単位のカーニングのみが含まれます (カーニングクラスや状態機械によるカーニングは含まれません)。これはオリジナルの TrueType の仕様に存在した種類のカーニングです (そこから Apple と OpenType の仕様は岐れましたが、どちらも今なおサポートしています)。

## Mac ファミリーを出力

これは上に挙げたのと非常に似たダイアログを起動しますが、2, 3 の追加フィールドがあります。このダイアログは Mac ファミリーのためであり、Mac フォーマットのみがサポートされているからです。

`[保存(S)]` ボタンのそばには、このファミリーに含まれると FontForge が考えた全フォントのリストが、そのビットマップ情報と一緒に表示されています。そのファミリーに含めたくないフォントがある場合は、そのチェックボックスを空にしてください。

ファミリー内で使用可能なフォントスタイルは、特定のタイプにつき一つのスタイルのみが使用可能で、“Light”や“Black”といったスタイル (既に“Bold”スタイルがある場合) や“Oblique”(既に“Italic”がある場合) スタイルをサポートしていない‘FOND’リソースの限界により制約されています。一般的に、FontForge はフォント名からそのフォントのスタイルを推測することが出来ますが、場合によってはその設定をフォント情報ダイアログの Mac スタイルで上書きしたくなることがあるでしょう。

このダイアログの能力を超えるような方法で Mac フォントファミリーを作成するための情報については、FAQ を参照してください。

## SVG フォント

SVG (Scalable Vector Graphics) フォントには 2 種類の形式があり、片方は PostScript Type1 フォントとほぼ同じで、もう片方は PostScript Type3 フォントとほぼ同じです。

第 1 のフォーマットでは、各グリフは輪郭の集まりによって指定されます。フォントを輪郭線を描画するか、塗りつぶすかを定める指示はありません――その情報は、フォントがテキスト上で使用されるときにグラフィック環境から引き継がれます。

第 2 のフォーマットでは、各グリフには、それを描画するのに必要なストロークおよび塗りつぶしのコマンドを含むことができます。

FontForge は通常第 1 のフォーマットを出力しますが、複数レイヤーまたはストロークフォントに対しては、第 2 のフォーマットで出力します。

― 前 ― 目次 ― 次 ―